<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <div id="app">
      <h1>{{msg}}</h1>
<!-- 第二步使用组件 使用注册组件的名 当html 标签 -->

      <my-home></my-home>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    <script>
  //   'aa-bb   推荐使用这种命名组件的名字'
        //   'AABB'
        //   'aaBB'
        // 'myMsg'   // 小驼峰 不太推荐在组件里面  --->  'my-msg' 
        // MyMsg  // 大驼峰命名
        // Vue.component('组件的名字写组件aa-bb',
        // {'这个对象里面就跟new Vue()一样 new Vue()有的东西组件都有 注意事项 data 不在是一个对象 而是一个函数   '}


        // )

        //  第一步注册组件
        Vue.component('my-home',{  
            data:function(){  //必须需要return  而且return 必须是一个对象
                return {
                    msg:'我是home组件'
                }
            },
            // template :'写我们正常的html'  template 里面html 必须要有一个根元素包裹
            template:
            `<div>
            <div>{{msg}}</div>
            <div @click='handlerClick'>{{msg}}</div>
            </div>`,
            methods:{
              handlerClick(){
                alert('我被点击了')
              }
            },

        })


      var vm = new Vue({
        el: "#app",
        data: {
          msg: "vue",
        },
        methods: {},
      });
    </script>
  </body>
</html>
